package com.hanthink.system.domain.delivery;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hanthink.common.annotation.Excel;
import com.hanthink.common.core.domain.BaseEntity;

/**
 * 运输计划管理对象 ProductionDeliveryPlan
 *
 * @author hanthink
 * @date 2022-09-05
 */
public class DeliveryProductionDeliveryPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工厂代码 */
    @Excel(name = "工厂代码")
    private String factoryid;

    /** 发货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliverydatetime;

    /** 客户组别 */
    @Excel(name = "客户组别")
    private String customergroup;

    /** 发货顺序 */
    @Excel(name = "发货顺序")
    private Long deliveryindex;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customername;

    /** 客户上线使用班次时间 */
    @Excel(name = "客户上线使用班次时间")
    private String usedshift;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productionname;

    /** 车数 */
    @Excel(name = "车数")
    private Long carcount;

    /** 板数 */
    @Excel(name = "板数")
    private Long bancount;

    /** 计划集货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "计划集货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date plancollectiondatetime;

    /** 车辆计划到厂时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "车辆计划到厂时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date planarrivedatetime;

    /** 计划最晚发车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "计划最晚发车时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date planbegindatetime;

    /** 计划到货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "计划到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date planinpositiondatetime;

    /** 仓储类型 */
    @Excel(name = "仓储类型")
    private String storetype;

    /** 发货计划备注 */
    @Excel(name = "发货计划备注")
    private String memo;

    /** 创建者 */
    @Excel(name = "创建者")
    private String creator;

    /** 实际集货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际集货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT,defaultValue = "")
    private Date factcollectiondatetime;

    /** 集货确认操作人 */
    @Excel(name = "集货确认操作人",type = Excel.Type.EXPORT,defaultValue = "")
    private String collectionoperator;

    /** 集货延迟时间(分钟) */
    @Excel(name = "集货延迟时间(分钟)",type = Excel.Type.EXPORT,defaultValue = "")
    private Long collectionlatertime;

    /** 集货情况说明 */
    @Excel(name = "集货情况说明",type = Excel.Type.EXPORT,defaultValue = "")
    private String collectionmemo;

    /** 集货消息推送状态 */
    @Excel(name = "集货消息推送状态",type = Excel.Type.EXPORT,defaultValue = "")
    private Integer collectionflag;

    /** 车辆实际到厂时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "车辆实际到厂时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT,defaultValue = "")
    private Date factarrivedatetime;

    /** 车辆到厂确认人 */
    @Excel(name = "车辆到厂确认人",type = Excel.Type.EXPORT,defaultValue = "")
    private String arriveoperator;

    /** 车辆到厂延迟时间(分钟) */
    @Excel(name = "车辆到厂延迟时间(分钟)",type = Excel.Type.EXPORT,defaultValue = "")
    private Long arrivelatertime;

    /** 车辆到厂异常说明 */
    @Excel(name = "车辆到厂异常说明",type = Excel.Type.EXPORT,defaultValue = "")
    private String arrivememo;

    /** 车辆到厂推送状态 */
    @Excel(name = "车辆到厂推送状态",type = Excel.Type.EXPORT,defaultValue = "")
    private Integer arriveflag;

    /** 实际发车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际发车时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT,defaultValue = "")
    private Date factbegindatetime;

    /** 发车确认人 */
    @Excel(name = "发车确认人",type = Excel.Type.EXPORT,defaultValue = "")
    private String beginoperator;

    /** 发车延迟时间(分钟) */
    @Excel(name = "发车延迟时间(分钟)",type = Excel.Type.EXPORT,defaultValue = "")
    private Long beginlatertime;

    /** 发车异常说明 */
    @Excel(name = "发车异常说明",type = Excel.Type.EXPORT,defaultValue = "")
    private String beginmemo;

    /** 发车推送状态 */
    @Excel(name = "发车推送状态",type = Excel.Type.EXPORT,defaultValue = "")
    private Integer beginflag;

    /** 实际到货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际到货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT,defaultValue = "")
    private Date factinpositiondatetime;

    /** 到货确认人 */
    @Excel(name = "到货确认人",type = Excel.Type.EXPORT,defaultValue = "")
    private String inpositionoperator;

    /** 到货延迟时间(分钟) */
    @Excel(name = "到货延迟时间(分钟)",type = Excel.Type.EXPORT,defaultValue = "")
    private Long inpositionlatertime;

    /** 到货异常说明 */
    @Excel(name = "到货异常说明",type = Excel.Type.EXPORT,defaultValue = "")
    private String inpositionmemo;

    /** 到货推送状态 */
    @Excel(name = "到货推送状态",type = Excel.Type.EXPORT,defaultValue = "")
    private Integer inpositionflag;

    /** 计划行ID */
    @Excel(name = "计划行ID",type = Excel.Type.EXPORT,defaultValue = "")
    private Long id;

    public Date getCreatedatetime() {
        return createdatetime;
    }

    public void setCreatedatetime(Date createdatetime) {
        this.createdatetime = createdatetime;
    }

    private Date createdatetime;

    public void setFactoryid(String factoryid)
    {
        this.factoryid = factoryid;
    }

    public String getFactoryid()
    {
        return factoryid;
    }
    public void setDeliverydatetime(Date deliverydatetime)
    {
        this.deliverydatetime = deliverydatetime;
    }

    public Date getDeliverydatetime()
    {
        return deliverydatetime;
    }
    public void setCustomergroup(String customergroup)
    {
        this.customergroup = customergroup;
    }

    public String getCustomergroup()
    {
        return customergroup;
    }
    public void setDeliveryindex(Long deliveryindex)
    {
        this.deliveryindex = deliveryindex;
    }

    public Long getDeliveryindex()
    {
        return deliveryindex;
    }
    public void setCustomername(String customername)
    {
        this.customername = customername;
    }

    public String getCustomername()
    {
        return customername;
    }
    public void setUsedshift(String usedshift)
    {
        this.usedshift = usedshift;
    }

    public String getUsedshift()
    {
        return usedshift;
    }
    public void setProductionname(String productionname)
    {
        this.productionname = productionname;
    }

    public String getProductionname()
    {
        return productionname;
    }
    public void setCarcount(Long carcount)
    {
        this.carcount = carcount;
    }

    public Long getCarcount()
    {
        return carcount;
    }
    public void setBancount(Long bancount)
    {
        this.bancount = bancount;
    }

    public Long getBancount()
    {
        return bancount;
    }
    public void setPlancollectiondatetime(Date plancollectiondatetime)
    {
        this.plancollectiondatetime = plancollectiondatetime;
    }

    public Date getPlancollectiondatetime()
    {
        return plancollectiondatetime;
    }
    public void setPlanarrivedatetime(Date planarrivedatetime)
    {
        this.planarrivedatetime = planarrivedatetime;
    }

    public Date getPlanarrivedatetime()
    {
        return planarrivedatetime;
    }
    public void setPlanbegindatetime(Date planbegindatetime)
    {
        this.planbegindatetime = planbegindatetime;
    }

    public Date getPlanbegindatetime()
    {
        return planbegindatetime;
    }
    public void setPlaninpositiondatetime(Date planinpositiondatetime)
    {
        this.planinpositiondatetime = planinpositiondatetime;
    }

    public Date getPlaninpositiondatetime()
    {
        return planinpositiondatetime;
    }
    public void setStoretype(String storetype)
    {
        this.storetype = storetype;
    }

    public String getStoretype()
    {
        return storetype;
    }
    public void setMemo(String memo)
    {
        this.memo = memo;
    }

    public String getMemo()
    {
        return memo;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setFactcollectiondatetime(Date factcollectiondatetime)
    {
        this.factcollectiondatetime = factcollectiondatetime;
    }

    public Date getFactcollectiondatetime()
    {
        return factcollectiondatetime;
    }
    public void setCollectionoperator(String collectionoperator)
    {
        this.collectionoperator = collectionoperator;
    }

    public String getCollectionoperator()
    {
        return collectionoperator;
    }
    public void setCollectionlatertime(Long collectionlatertime)
    {
        this.collectionlatertime = collectionlatertime;
    }

    public Long getCollectionlatertime()
    {
        return collectionlatertime;
    }
    public void setCollectionmemo(String collectionmemo)
    {
        this.collectionmemo = collectionmemo;
    }

    public String getCollectionmemo()
    {
        return collectionmemo;
    }
    public void setCollectionflag(Integer collectionflag)
    {
        this.collectionflag = collectionflag;
    }

    public Integer getCollectionflag()
    {
        return collectionflag;
    }
    public void setFactarrivedatetime(Date factarrivedatetime)
    {
        this.factarrivedatetime = factarrivedatetime;
    }

    public Date getFactarrivedatetime()
    {
        return factarrivedatetime;
    }
    public void setArriveoperator(String arriveoperator)
    {
        this.arriveoperator = arriveoperator;
    }

    public String getArriveoperator()
    {
        return arriveoperator;
    }
    public void setArrivelatertime(Long arrivelatertime)
    {
        this.arrivelatertime = arrivelatertime;
    }

    public Long getArrivelatertime()
    {
        return arrivelatertime;
    }
    public void setArrivememo(String arrivememo)
    {
        this.arrivememo = arrivememo;
    }

    public String getArrivememo()
    {
        return arrivememo;
    }
    public void setArriveflag(Integer arriveflag)
    {
        this.arriveflag = arriveflag;
    }

    public Integer getArriveflag()
    {
        return arriveflag;
    }
    public void setFactbegindatetime(Date factbegindatetime)
    {
        this.factbegindatetime = factbegindatetime;
    }

    public Date getFactbegindatetime()
    {
        return factbegindatetime;
    }
    public void setBeginoperator(String beginoperator)
    {
        this.beginoperator = beginoperator;
    }

    public String getBeginoperator()
    {
        return beginoperator;
    }
    public void setBeginlatertime(Long beginlatertime)
    {
        this.beginlatertime = beginlatertime;
    }

    public Long getBeginlatertime()
    {
        return beginlatertime;
    }
    public void setBeginmemo(String beginmemo)
    {
        this.beginmemo = beginmemo;
    }

    public String getBeginmemo()
    {
        return beginmemo;
    }
    public void setBeginflag(Integer beginflag)
    {
        this.beginflag = beginflag;
    }

    public Integer getBeginflag()
    {
        return beginflag;
    }
    public void setFactinpositiondatetime(Date factinpositiondatetime)
    {
        this.factinpositiondatetime = factinpositiondatetime;
    }

    public Date getFactinpositiondatetime()
    {
        return factinpositiondatetime;
    }
    public void setInpositionoperator(String inpositionoperator)
    {
        this.inpositionoperator = inpositionoperator;
    }

    public String getInpositionoperator()
    {
        return inpositionoperator;
    }
    public void setInpositionlatertime(Long inpositionlatertime)
    {
        this.inpositionlatertime = inpositionlatertime;
    }

    public Long getInpositionlatertime()
    {
        return inpositionlatertime;
    }
    public void setInpositionmemo(String inpositionmemo)
    {
        this.inpositionmemo = inpositionmemo;
    }

    public String getInpositionmemo()
    {
        return inpositionmemo;
    }
    public void setInpositionflag(Integer inpositionflag)
    {
        this.inpositionflag = inpositionflag;
    }

    public Integer getInpositionflag()
    {
        return inpositionflag;
    }
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("factoryid", getFactoryid())
                .append("deliverydatetime", getDeliverydatetime())
                .append("customergroup", getCustomergroup())
                .append("deliveryindex", getDeliveryindex())
                .append("customername", getCustomername())
                .append("usedshift", getUsedshift())
                .append("productionname", getProductionname())
                .append("carcount", getCarcount())
                .append("bancount", getBancount())
                .append("plancollectiondatetime", getPlancollectiondatetime())
                .append("planarrivedatetime", getPlanarrivedatetime())
                .append("planbegindatetime", getPlanbegindatetime())
                .append("planinpositiondatetime", getPlaninpositiondatetime())
                .append("storetype", getStoretype())
                .append("memo", getMemo())
                .append("creator", getCreator())
                .append("factcollectiondatetime", getFactcollectiondatetime())
                .append("collectionoperator", getCollectionoperator())
                .append("collectionlatertime", getCollectionlatertime())
                .append("collectionmemo", getCollectionmemo())
                .append("collectionflag", getCollectionflag())
                .append("factarrivedatetime", getFactarrivedatetime())
                .append("arriveoperator", getArriveoperator())
                .append("arrivelatertime", getArrivelatertime())
                .append("arrivememo", getArrivememo())
                .append("arriveflag", getArriveflag())
                .append("factbegindatetime", getFactbegindatetime())
                .append("beginoperator", getBeginoperator())
                .append("beginlatertime", getBeginlatertime())
                .append("beginmemo", getBeginmemo())
                .append("beginflag", getBeginflag())
                .append("factinpositiondatetime", getFactinpositiondatetime())
                .append("inpositionoperator", getInpositionoperator())
                .append("inpositionlatertime", getInpositionlatertime())
                .append("inpositionmemo", getInpositionmemo())
                .append("inpositionflag", getInpositionflag())
                .append("id", getId())
                .toString();
    }
}